A variety of computer systems and electronic devices use memory that does not lose the data it has stored when power is disconnected. These “nonvolatile” memories can be reprogrammed, read, and erased electronically, and are well suited to storing data such as music in digital audio players, images in digital cameras, and configuration data in cellular telephones. Such memory includes devices commonly known as flash memory, given this name because an entire block of cells may need to be erased at once before programming a portion of the block of cells. Flash memory is packaged for consumer use in products such as CompactFlash memory cards, USB flash memory drives, and other such devices.
Flash memory comprises a number of cells, each of which typically stores a single binary digit (or “bit”) of data. A typical flash memory cell comprises a field effect transistor having an electrically isolated charge storage structure such as a floating gate or charge trap that controls electrical conduction in a channel region between the source and drain regions of the memory cell. Data is represented by a charge stored on the charge storage structure and the resulting change in conductivity observed in the channel region.
The charge storage structure separates a control gate from the source and drain regions of the memory cell. Electrons stored on the charge storage structure are insulated from the control gate and the drain and source by a dielectric structure, such as an insulating oxide layer. The stored electrons modify (i.e., partially cancel out) an electric field produced by the control gate; resulting in a change in the effective threshold voltage (Vt) of the memory cell. When the memory cell is read by placing a specified voltage on the control gate, current will flow or will not flow depending on whether the control gate voltage has a value above or below the threshold Vt of the memory cell. The presence or absence of current can be sensed and used to determine a programmed state of the memory cell, resulting in a particular data value such as a one or zero value being read.
More than a single bit of data can be stored in a flash memory cell by using multiple data states when performing programming (or writing) and reading operations. Flash memory cells used in this way are often referred to as multi-level memory cells. For example, a four-level memory cell is programmed to be in any one of four data states, thereby storing up to two bits of data per cell and doubling the amount of data that can be stored in the memory cell.
Memory cells are typically arranged in a two-dimensional array of rows and columns, where the rows are coupled via an access line, often called a word line, and the columns are coupled via a data line, often called a bit line. The word lines and bit lines are used during data read and write functions to either select certain memory cells for reading or to select certain memory cells for writing. During such read and write functions, factors such as induced electric fields, capacitive coupling, and resistance of the conductors can cause unwanted coupling or interference between the bit lines and word lines.
The memory cells themselves are further subject to the resistance and capacitance of the bit lines and word lines coupled to the memory cell for proper operation and communication with a memory controller. Device features, such as variation in the thickness of the dielectric layer between the charge storage structure and the channel region can also cause variations in the threshold voltage and other operating parameters of such a memory cell. Also, close physical proximity of memory cells in the memory array can result in coupling between charge storage structures, further influencing the operation of the memory cells. Factors such as these can be even more significant in multi-level flash memories having more than two potential data states per memory cell, as the difference between data states becomes harder to accurately discern as the number of different states increases.